#pragma once
#include "ISimpleHashMaker.h"
#include "XFixedSizeAllocator.h"
class CSimpleHash
{
private: 
	XFixedSizeAllocator m_bucketAllocator;
	struct HashBucket * * m_ppBuckets;
	XUINT32 m_cBuckets;
public: 
	CSimpleHash();
	static HRESULT Create(XUINT32 cHashTableEntries, CSimpleHash * * ppSimpleHash);
	~CSimpleHash();
	HRESULT Lookup(struct ISimpleHashKey * pKey, ISimpleHashMaker * pMaker, struct ISimpleHashEntry * * ppHashEntry);
	HRESULT Remove(struct ISimpleHashKey * pKey, struct ISimpleHashEntry * * ppHashEntry);
	void Clear();
};

